#pragma once
namespace DarkStorm2D 
{
class CTemplateSet;

class CRect 
{
protected:
	int m_Top;
	int m_Left;
	int m_Right;
	int m_Bottom;
public:
	friend class CTemplateSet;
	CRect()
	{
		m_Top = m_Left = m_Right = m_Bottom = 0;
	}
	CRect(int Top, int Left, int Right, int Bottom)
	{
		m_Top = Top;
		m_Left = Left;
		m_Right = Right;
		m_Bottom = Bottom;
	}

	inline int GetTop() {return m_Top;}
	inline int GetLeft() {return m_Left;}
	inline int GetRight() {return m_Right;}
	inline int GetBottom() {return m_Bottom;}

	inline void SetTop(int Top) {m_Top = Top;}
	inline void SetLeft(int Left) {m_Left = Left;}
	inline void SetRight(int Right) {m_Right = Right;}
	inline void SetBottom(int Bottom) {m_Bottom = Bottom;}

	/*inline CRect& operator=(CRect& Rect) 
	{
		return CRect(this->GetTop(),this->GetLeft(),this->GetRight(),this->GetBottom());
	}*/

	inline bool operator ==(CRect& Rect)
	{
		if (this->GetTop() == Rect.GetTop())
		{
			if (this->GetLeft() == Rect.GetLeft())
			{
				if (this->GetRight() == Rect.GetRight())
				{
					if (this->GetBottom() == Rect.GetBottom())
					{
						return true;
					}
				}
			}
		}
		return false;
	}
};
};